/**
 * 
 */
package IC.lir.instructions;

import IC.lir.operands.Operand;
import IC.lir.operands.RegOperand;
import IC.lir.Instruction;

/**
 * A superclass for both MoveField instructions
 *
 */
abstract public class MoveFieldInstr extends Instruction {
	private RegOperand 	instance;
	private Operand 	field;

	/**
	 * Create a MoveField load instruction
	 * @param instance the instance operand 
	 * @param field the field specifier
	 * @param dest the destination register
	 */
	public MoveFieldInstr(RegOperand instance, Operand field) {
		this.instance = instance;
		this.field = field;
	}

	/**
	 * @return the field specifier
	 */
	public Operand getField() {
		return field;
	}

	/**
	 * @return the instance operand
	 */
	public RegOperand getInstance() {
		return instance;
	}
}
